/* * Author: Chris Seguin * * This software has been developed under the copyleft * rules of the GNU General Public License. Please * consult the GNU General Public License for more * details about use and distribution of this software. */ package org.acm.seguin.ide.common; import org.acm.seguin.summary.PackageSummary; /** * The package list filter that determines if the package should be included * in the PackageSelectorArea. * *@author Chris Seguin */ public abstract class PackageListFilter { private static PackageListFilter singleton; /** * Returns true if we should include it * *@param summary the summary in question *@return true if it should be included */ public abstract boolean isIncluded(PackageSummary summary); /** * Sets the Singleton attribute of the PackageListFilter class * *@param value The new Singleton value */ public static void setSingleton(PackageListFilter value) { singleton = value; } /** * Description of the Method * *@return Description of the Returned Value */ public static PackageListFilter get() { if (singleton == null) { singleton = new DefaultPackageListFilter(); } return singleton; } }